import UnoCSS from 'unocss/vite';
import { type UserConfig } from 'vite';

const commonConfig: (mode: string) => UserConfig = (mode) => ({
  server: {
    host: true,
  },
  esbuild: {
    drop: mode === 'production' ? ['console', 'debugger'] : [], // 生产模式下移除console、debugger语句
  },
  build: {
    reportCompressedSize: false, // 不报告压缩后的大小
    chunkSizeWarningLimit: 1500, // 代码块大小的警告阈值
    rollupOptions: {
      // TODO: Prevent memory overflow
      maxParallelFileOps: 3, // 限制并行文件操作数量，有性能问题。主要用于大项目或资源密集型构建
    },
  },
  plugins: [UnoCSS()],
});

export { commonConfig };
